package com.eleadmin.common.system.param;

import com.eleadmin.common.core.annotation.QueryField;
import com.eleadmin.common.core.annotation.QueryType;
import com.eleadmin.common.core.web.BaseParam;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 订单表查询参数
 *
 * @author EleAdmin
 * @since 2025-04-22 22:55:28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "OrderParam对象", description = "订单表查询参数")
public class OrderParam extends BaseParam {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @QueryField(type = QueryType.EQ)
    private Integer id;

    @ApiModelProperty(value = "物品名称")
    private String name;

    @ApiModelProperty(value = "描述")
    private String description;

    @ApiModelProperty(value = "物品图片")
    private String img;

    @ApiModelProperty(value = "订单编号")
    private String orderNo;

    @ApiModelProperty(value = "物品类型")
    private String type;
    @ApiModelProperty(value = "物品类型")
    private String taskType;
    @ApiModelProperty(value = "物品重量")
    private Double weight;

    @ApiModelProperty(value = "小费")
    private Double price;

    @ApiModelProperty(value = "发起人")
    @QueryField(type = QueryType.EQ)
    private Integer userId;

    @ApiModelProperty(value = "接单人")
    @QueryField(type = QueryType.EQ)
    private Integer acceptId;

    @ApiModelProperty(value = "接单时间")
    private String acceptTime;

    @ApiModelProperty(value = "订单状态")
    private String status;

    @ApiModelProperty(value = "订单备注")
    private String comment;

    @ApiModelProperty(value = "发起人联系信息")
    @QueryField(type = QueryType.EQ)
    private Integer addressId;

    @ApiModelProperty(value = "到达处联系信息")
    @QueryField(type = QueryType.EQ)
    private Integer targetId;
    
    @ApiModelProperty(value = "到达处联系信息")
    @QueryField(type = QueryType.EQ)
    private Integer isCollect;

}
